//
//  BankView.h
//  CocoaSynth
//
//  Created by Thomas Dupont on 19/02/10.
//  Copyright 2010 Apple Inc. All rights reserved.
//

#import <Cocoa/Cocoa.h>

@protocol BankModuleViewControllerProtocol;

/*!
 @class			BankView
 @abstract		Classe dont va h&eacute;riter la vue de chaque module. Impl&eacute;mente le drag and drop du module.
 */
@interface BankView : NSView {
	NSEvent* mouseDownEvent;
	NSImage* moduleImage;
	id<BankModuleViewControllerProtocol> controller;
}

/*!
 @abstract		La NSImage utilis&eacute;e pour visualiser le module dans la bank de modules.
 @param			aModuleImage l'image du module dans la bank de modules.
 */
@property (readonly) NSImage* moduleImage;

/*!
 @abstract		Le controleur du module de la bank de modules.
 @discussion	La vue du module a besoin d'avoir acc&egrave;s &agrave; son controleur pour le drag and drop, car c'est le controleur qui sera d&eacute;plac&eacute;.
 @param			aController le controleur du module.
 */
@property (assign) id<BankModuleViewControllerProtocol> controller;

@end
